<?
class abmGrupoInvestigacion{

 private $directorio = "E:/Sitios/V_GIISCO/logo/";
 
 function getDirectorio(){
 	return $this->directorio;
 }
 
 //crear nuevo grupo
function guardarGrupo($data){
	$objgrupo = new grupoinvestigacion();
	$objgrupo -> putnombre($data->nombre);
	$objgrupo -> putdescripcion($data->url);
	$objgrupo -> puturl($data->descripcion);
	if($data->idarchivo=="")$data->idarchivo='null';
	$objgrupo -> putlogo($data->idarchivo);
 	
}
 //crear nuevo grupo
function actualizarGrupo($data){
	$objgrupo = new grupoinvestigacion();
	$objgrupo -> putidGrupoInvestigacion($_SESSION['GRUPO']);
	$objgrupo -> putnombre($data->nombre);
	$objgrupo -> putdescripcion($data->descripcion);
	$objgrupo -> puturl($data->url);
	if($data->idarchivo=="")$data->idarchivo='null';
	$objgrupo -> putlogo($data->idarchivo);
 	return $objgrupo ->actualizarObjeto();
}
/* Devuelve todos los grupos de investigacion */
function darGrupos(){
	$objGrupo = new grupoinvestigacion();
	$datos = $objGrupo->darListagrupoinvestigacion();
	return $datos;

}
/* devuelve los datos del  grupo de investigacion  */
function darGrupo($idGrupo){
	$grupo = new grupoinvestigacion();
	$grupo->selgrupoinvestigacion($idGrupo);
	$arreglo = array ('nombre'=>$grupo->getnombre(),'descripcion'=>$grupo->getdescripcion(),'url'=>$grupo->geturl(),'idarchivo'=> $grupo->getlogo());
	return $arreglo;

}

/* devuelve el nombre del grupo de investigacion de la persona logeeada */
function editarGrupo($datos){
	$grupo = new grupoinvestigacion();
	$datos = $grupo->selgrupoinvestigacion($_SESSION['GRUPO']);
	return $datos;

}
//Devuelve los parther y sus periodos de participacion dentro del grupo
function darParther(){
	$objParther =  new periodoparther();
	$datos = $objParther->darListaperiodoparther();
	return $datos;

}
/* Devuelve los integrantes ACTIVOS  de un grupo de investigacion */
/************************************************************************/
/*REALIZAR EL CONTROL DE LAS FECHAS*/
/************************************************************************/
/************************************************************************/
function darMiembrosActivos(){
	$hoy = date('Y-m-d');
	$objPerPart = new periodoparticipacion();
	$reg = $objPerPart->darListaIntegrantesGrupo($_SESSION['GRUPO'],$hoy);
	//echo "Cantidad de Integrantes: ".count($reg);
	for ($i=0; $i<count($reg); $i++){
	//echo "Cantidad de Integrantes: ".$i;
		$objPerPart = $reg[$i];
		$idPer = $objPerPart->getidPersona();
		$objPersona = new persona();
		$objPersona->selpersona($idPer);
		
		$objUni = new universidad();
		$objUni->seluniversidad($objPersona->getidUniversidad());
		
		$objIntGrupo = new integrantegrupo();
		$objIntGrupo->selintegrantegrupo($idPer);
		
		
		$datos[$i]['integrante'] = $objIntGrupo;
		$datos[$i]['persona'] = $objPersona;
		$datos[$i]['universidad'] = $objUni;
		$datos[$i]['F_desde'] = $objPerPart ->getfechaini();
		$datos[$i]['F_hasta'] = $objPerPart ->getfechafin();
	
	}
	return $datos;

}


/* Alguna vez fueron miembro del grupo de investigacion*/
/************************************************************************/
/*REALIZAR EL CONTROL DE LAS FECHAS*/
/************************************************************************/
/************************************************************************/
function darMiembrosInactivos(){
	$hoy = date('Y-m-d');
	$objPerPart = new periodoparticipacion();
	$reg = $objPerPart->darListaIntegrantesGrupo($_SESSION['GRUPO'],$hoy);
	//echo "Cantidad de Integrantes: ".count($reg);
	for ($i=0; $i<count($reg); $i++){
	//echo "Cantidad de Integrantes: ".$i;
		$objPerPart = $reg[$i];
		$idPer = $objPerPart->getidPersona();
		$objPersona = new persona();
		$objPersona->selpersona($idPer);
		
		$objUni = new universidad();
		$objUni->seluniversidad($objPersona->getidUniversidad());
		
		$objIntGrupo = new integrantegrupo();
		$objIntGrupo->selintegrantegrupo($idPer);
		
		
		$datos[$i]['integrante'] = $objIntGrupo;
		$datos[$i]['persona'] = $objPersona;
		$datos[$i] ['universidad']= $objUni;
		$datos[$i]['F_desde'] = $objPerPart ->getfechaini();
		$datos[$i]['F_hasta'] = $objPerPart ->getfechafin();
	
	}
	return $datos;

}


function agregarIntegrante($datos){

		$base = new BaseDatos;
 	 	$base -> Iniciar();
		$ROLL =true;
		if( $base -> IniciarTransaccion()){
				//echo "el id de la per es .....".$idPersona;
				/*creo el objeto integrante grupo*/
				$objInt = new integrantegrupo();
				$objInt-> putidPersona($datos->idpersona);
				$objInt->putdomiciliolaboral($datos->domiciliolaboral);
				$objInt -> putbase($base);
				$resp = $objInt->insertarObjeto();
				if($resp){
					//echo "La insercion del objeto integrante dio : ".$resp;
					$objPerPart = new periodoparticipacion();
					$objPerPart-> inicializarObjeto($idPersona,$_SESSION['GRUPO'],$datos->FDesde,$datos->fHasta);
					$objPerPart ->putbase($base);
					$resp = $objPerPart->insertarObjeto();
					if( $resp){
						//echo "La insercion del objeto periodo participacion dio : ".$resp;
						$ROLL = false;
						if ($base ->CommitTransaccion()){
								$ROLL = false;
								//echo "COMITTTT :)";
								return true;
						}else{	echo "ROLLLLL  :)";};
					}else {echo "Fallo periodo Participacion";}
				
				}else {echo "Fallo integrante Grupo";}
			if($ROLL){
					echo "ROLLLLL  :)";
					$base ->RollbackTransaccion();
					return false;
			}
	}//fin transaccion
}
function agregarPerPartIntegrante($data){
		$objPerPart = new periodoparticipacion();
		$objPerPart-> inicializarObjeto($data->idpersona,$_SESSION['GRUPO'],$data->FDesde,$data->fHasta);
		return  $objPerPart->insertarObjeto();


}



function darPublicacionesIntegranteGrupo($idpersona){
     $contenidopersona = new publicaciones();
	 $datos = $contenidopersona ->darListapublicacionesPersona($idpersona);
	return $datos;

}


function darPerPartIntegranteGrupo($idpersona){
     $perPart = new periodoparticipacion();
	 $rs = $perPart ->darListaperiodoparticipacion($idpersona,$_SESSION['GRUPO']);
	 
	
	$arreglo = array();
	 for($i=0; $i< count($rs);$i++){ 
	 
	  	$fechaDesde =  $rs[$i]->getfechaini();
		$fechaHasta =  $rs[$i]->getfechaini();
		array_push($arreglo,array('desde'=>$fechaDesde, 'hasta'=>$fechaHasta));
		
	}
	return $arreglo;

}

function actualizarIntegrante($datos){
		$objPers = new persona();
	    $objPers->putidPersona($datos['idpersona']);
		$objPers-> putnombre($datos['nombre']);
		$objPers-> putapellido($datos['apellido']);
		$objPers-> putemail($datos['email']);
		$objPers-> puttelefono($datos['telefono']);
		$objPers-> putfax($datos['fax']);
		$objPers->puturl($datos['url']);
		$objPers->putidUniversidad($datos['universidad'][0]);
		
		$idPersona = $objPers->actualizarObjeto();
		
		$objInt = new integrantegrupo();
		$objInt-> putidPersona($datos['idpersona']);
		$objInt->putdomiciliolaboral($datos['domiciliolaboral']);
		$objInt->actualizarObjeto();
}
function borrarIntegrante($idIntegrante,$idgrupo){

		$objPerPart = new periodoparticipacion();
		$objPerPart -> selperiodoparticipacion($idIntegrante,$idgrupo);
		$objPerPart -> putfechafin($date); /////VER FECHA !!!!!!
		$objPerPart -> actualizarObjeto();
}
function GuardarLogoGrupo($origen,$funcJs){
			// esto es lo q debe haber en $origen $archivoSub = $_FILES['UParchivo']['name'];
			$objarchivo = new archivos();
			$objarchivo->putdirectorio($this->getDirectorio());
			$objarchivo->putdescripcion(" Logo Grupo Investigacion");
			$objarchivo->putnombrearchivo($_FILES[$origen]['name']);
			$idarch = $objarchivo->insertarObjeto();
			//echo " El id del archivo retornada es:  ".$idarch ;
			//print_object($objarchivo);
			if ($idarch == false){
				return false;
			}else{
				//subir el archivo 
				subirArchivoServidor($origen,$idarch,$this->getDirectorio(),$funcJs);
				return true;		
			}
}
//esta funcion vincula un parther con un periodo de participacion al grupo
function vincularPartherGrupo($datos){
	$objPerPart = new periodoparther();
	$objPerPart ->putidGrupoInvestigacion($_SESSION['GRUPO']);
	$objPerPart ->putidParther($datos->idParther);
	$objPerPart ->putRol($datos->rol);
	$objPerPart ->putFechaIni($datos->FechaIni);
	$objPerPart ->putFechaFin($datos->FechaFin);
	$objPerPart ->insertarObjeto();


}

}//fin clase
?>